import { PropsWithChildren } from 'react'
import { useLaunch } from '@tarojs/taro'
import Taro from '@tarojs/taro'

import './app.scss'

function App({ children }: PropsWithChildren<any>) {
  useLaunch(() => {
    console.log('App launched.')
    
    // H5环境下重定向到登录页面
    if (Taro.getEnv() === Taro.ENV_TYPE.WEB) {
      // 检查当前路径是否已经是登录页面，避免无限重定向
      const currentPath = window.location.hash || window.location.pathname
      if (!currentPath.includes('/pages/index/login')) {
        console.log('H5环境检测到，重定向到登录页面')
        Taro.reLaunch({
          url: '/pages/index/login'
        })
        return
      }
    }
    
    // 添加全局错误处理
    if (typeof window !== 'undefined') {
      window.addEventListener('error', (event) => {
        console.error('Global error caught:', event.error)
        // 忽略特定的微信开发者工具错误
        if (event.error && event.error.message && 
            event.error.message.includes('getActiveAppWindow')) {
          console.warn('Ignoring WeChat DevTools specific error')
          event.preventDefault()
        }
      })
    }
  })

  // children 是将要会渲染的页面
  return children
}

export default App
